home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2005 Utilities / CHIP Utilities 2005.7z / CHIP Utilities 2005.iso / images / freesco.igz / freesco.img / router / rc / rc_ras < prev    next >
Encoding:
Text File  |  2003-06-20  |  2.2 KB  |  108 lines

  1. #!/bin/sh
  2. #
  3. # Generate configs, start, and stop dial-in services (Remote-Access-Server)
  4.  
  5. . /etc/system.cfg
  6. . /etc/live.cfg
  7.  
  8. stp()    {
  9.     [ "`fn2`" ] || return
  10.     echo -n "Stopping all RAS serices...        "
  11.     for i in 0 1 2 3 4 5 6 7 8 9; do
  12.         [ -f /var/run/ppp-$i.pid ] && kill -2 `cat /var/run/ppp-$i.pid | sed 's/ppp.*//'`
  13.     done
  14.     killall mgetty -15
  15.     killall chat
  16.     =
  17. }
  18. fn2()    { ps | sed -n '/mgetty    sh/P'; }
  19. fn1()    {
  20.     for i in 0 1 2 3 4 5 6 7 8 9; do
  21.         [ "$ROUTER" = dialup -o "$ROUTER" = leased ] && [ $i = 0 ] && continue
  22.         eval a=\$MODEM$i
  23.         eval b=\$MADDR$i
  24.         [ "$a" -a "$b" ] || continue
  25.         eval c=\${MSPEED$i:-38400}
  26.         eval d=\${MINIT$i:-AT\&F}
  27.         if [ $i = 0 ]
  28.             then e=$MTU0; f=$MRU0
  29.             else e=$MTUALL; f=$MRUALL
  30.         fi
  31.         [ "$e" ] && e="mtu $e"
  32.         [ "$f" ] && f="mru $f"
  33.         k=1.1.1.`expr $i + 1`
  34.         g=$DNSADDR; [ "$ENADNS" = n ] || g=$IPADDR0
  35.         [ "$DNSADDR1" ] && m="ms-dns $DNSADDR1"
  36.         h=; [ "$WINSADDR" ] && h="ms-wins $WINSADDR"
  37.         eval ena=\$ENANULL$i
  38.         if [ "$ena" = y ]; then
  39.             eval nullscp=\$NULLSCRIPT$i
  40.         cat >/etc/ppp/options.$a <<-EOF
  41.             connect '/sbin/chat -v -t600 $nullscp'
  42.             persist
  43.             -detach
  44.             crtscts
  45.             modem
  46.             silent
  47.             linkname $i
  48.             proxyarp
  49.             noauth
  50.             $k:$b
  51.             ms-dns $g
  52.             $m
  53.             $h
  54.         EOF
  55.             [ "$1" = newip ] && continue
  56.             [ -f /var/run/ppp-$i.pid ] && kill -2 `cat /var/run/ppp-$i.pid | sed 's/ppp.*//'`
  57.             echo -n "Starting null modem on $a...        "
  58.             fork pppd /dev/$a $c 
  59.         else
  60.         cat >/etc/ppp/options.$a <<-EOF
  61.             modem
  62.             crtscts
  63.             linkname $i
  64.             proxyarp
  65.             $k:$b
  66.             -pap
  67.             -chap
  68.             noauth
  69.             refuse-chap
  70.             refuse-pap
  71.             ms-dns $g
  72.             $m
  73.             $h
  74.             $e
  75.             $f
  76.             $j
  77.         EOF
  78.             [ "$1" = newip ] && continue
  79.             echo -n "Starting dialin services on $a...    "
  80.             fork mgetty $a "$d" "$c"
  81.         fi
  82.         = $?
  83.     done
  84. }
  85. str()    { [ "`fn2`" ] || fn1; }
  86.  
  87. case "$1" in
  88.     start)    str;;
  89.     stop)    stp;;
  90.     restart)stp;str;;
  91.     newip)    fn1 $1;;
  92.     status)    if [ "`fn2`" ]
  93.             then echo "Mgetty is running:"; fn2
  94.             else echo Mgetty is not running
  95.         fi
  96.         for i in 0 1 2 3 4 5 6 7 8 9; do
  97.             eval ena=\$ENANULL$i
  98.             if [ "$ena" = y ]; then
  99.             eval mod=\$MODEM$i
  100.             if [ -f /var/run/ppp-$i.pid ]
  101.                 then echo "Nullmodem running on $mod"
  102.                 else echo "Nullmodem is not running on $mod"
  103.             fi
  104.             fi    
  105.         done;;
  106. esac
  107.  
  108.